The present invention relates to computer graphics.
Computer programs can be used to produce graphical images that can be rendered and displayed on an output device. Two such classes of programs are illustration applications and animation applications. An illustration application can be used to generate original graphics or combine original and existing graphics to produce a graphics image (an electronic document or illustration) that can be displayed on a static output device. An animation application can be used to produce a composition that includes graphics that can be animated using one or more effects to produce a result that can be played on a dynamic output device.
Illustrations and compositions produced using conventional illustration and animation applications include simple objects that are combined to form a final illustration or composition. A simple object can be a path, text, or other vector art object or an image art object and typically includes several properties. Properties can include paint effects such as strokes and fills for paths, vector effects such as zig-zag and scale, color blending effects such as transparency and darkening, and image effects such as fade, blur, and watercolor.
Two basic properties of a simple vector object are its stroke and fill attributes. A stroke is a representation that follows the outline of a path. Strokes can have attributes such as color, width and dash pattern. For example, in the Adobe Illustrator(copyright) program, available from Adobe Systems Incorporated of San Jose, Calif., a stroke can be a solid color, a pattern or a brush and can include attributes such as weight, cap, join and dashed. A fill is an instruction for painting the interior of a path with a solid or variegated color, such as a repeating pattern, a color gradation or a randomized arrangement. A fill might be a solid color, a gradient, a gradient mesh or a pattern. In conventional illustration and animation programs, every simple object can have a single stroke and a single fill.
When objects are combinedxe2x80x94into a layer, for examplexe2x80x94the rendered appearance of the objects can be affected by properties attached to the combination. Otherwise, objects are typically rendered for display in accordance with their individual properties.
In one aspect, the invention provides a computer-implemented application for applying a style to an aggregation. A style includes a set of operations to be applied to artwork including a set of pre-paint operations followed by a set of paint operations as modified by the pre-paint operations. The method includes receiving an aggregation, the aggregation comprising one or more simple objects. The simple objects include at least a first object having an object style. The object style includes a set of pre-paint operations followed by a set of paint operations. An aggregation style is received and applied to the aggregation including applying at least one of the operations of the aggregation style to the first object before applying all operations of the object style to the first object.
In another aspect the invention provides a method for displaying style information including displaying artwork comprising a hierarchy of one or more aggregations, receiving a user input where the input identifying a leaf object in the artwork. The leaf object is a simple object containing no other objects, having one or more aggregation ancestors in the hierarchy and having properties. Each of the aggregation ancestors has an ancestor style. The method includes displaying a set of properties of the leaf object and the styles of the aggregation ancestors of the leaf object.
In another aspect the invention provides a method for displaying property information about a selected simple artwork object and includes displaying a detailed representation of style properties of the simple object while displaying a succinct representation of styles of artwork aggregations that affect the appearance of the simple object.
In another aspect, the invention provides a method for editing an electronic document that includes a simple artwork object and includes associating with one artwork object two or more stroke attributes.
In another aspect, the invention provides a method for editing an electronic document that includes a simple artwork object and includes associating with one artwork object two or more fill attributes.
In another aspect, the invention provides a method for editing an electronic document that includes an artwork object and includes associating with one artwork object two or more stroke attributes and two or more fill attributes.
In another aspect, the invention provides a method for editing an electronic document that includes an artwork object. The artwork object has a first attribute and one or more other attributes. The first attribute is either a fill attribute or a stroke attribute. The other attributes are either fill or stroke attributes. The method includes receiving a user input selecting for the first attribute an ordinal position among the other attributes where the ordinal position determines when the first attribute is applied in relation to the other attributes when the artwork object is rendered.
In another aspect, the invention provides a method of editing an electronic document and includes identifying one or more objects to be included in an aggregation, one or more of the objects including an associated object style and defining an aggregation style including one or more operations to be applied to the aggregation to produce a renderable representation of the aggregation including identifying a time to apply the object style to an object in the aggregation.
In another aspect, the invention provides a method for editing an electronic document that includes an artwork object includes associating a named style with the artwork object, the named style including an effect and rendering the artwork object with the named style.
In another aspect, the invention provides a method for defining a named style for artwork in a computer graphics system where the method includes including an effect in the named style.
In another aspect, the invention provides a method for editing an electronic document. The method includes applying a vector operation to a non-vector artwork object to produce a renderable representation of the non-vector artwork object without modifying the underlying non-vector artwork object.
In another aspect, the invention provides a method for editing digital graphics in response to user input and includes receiving a user selection applying a style change to an aggregation, the aggregation being an aggregation of two or more other artwork objects and automatically determining whether to apply the style change to the aggregation as an aggregate or to the other artwork objects within the aggregation.
In another aspect, the invention provides a method for editing digital graphics in response to user input and includes receiving a user selection of a first artwork object having a first shape and a first paint style and a second artwork object having a second shape and a second paint style, receiving a user request to generate a blend between the first object and the second object, generating intermediate objects having shapes changing from the first shape to the second shape and having paint styles changing from the first paint style to the second paint style. The intermediate paint styles is constructed of two layers. The first layer has the first paint style and the second layer has the second paint style. The top one of the two layers has a transparency. The blend effect is created by varying the transparency of the top layer from opaque to transparent.
In another aspect, the invention provides a method for editing an electronic document and includes applying a recipe of vector effects to an original path in an electronic document and displaying a first modified path, being the original path as modified by the recipe, rather than the original path, when rendering the electronic document.
In another aspect, the invention provides a method for editing an electronic document and includes automatically reapplying multiple vector effects to a path when a user changes the path.
In another aspect, the invention provides a method for editing an electronic document and includes automatically reapplying multiple vector effects to a path when a user changes any parameter of any of the multiple vector effects.
In another aspect, the invention provides a method for editing an electronic document and includes automatically reapplying multiple vector effects to a path when a user changes an order of application of the multiple vector effects.
In another aspect, the invention provides a method for editing an electronic document and includes attaching an effect to a first aggregation. An aggregation is an aggregate of two or more other objects. The effect is an operation that can be applied to an object having a visual appearance defined by source data to change the visual appearance without changing the source data.
In another aspect, the invention provides a method for processing digital graphics and includes placing a content proxy as an operation in an ordered set of operations to be applied to an aggregation where an aggregation is an aggregate of two or more other objects and performing the operations in order on the aggregation including applying the content proxy operation at a time indicated by the order.
In another aspect, the invention provides a system operable to have multiple operations attached to a graphic object and includes a method for creating an operation. The method includes steps of including in a definition of the operation a preferred position of the operation in an ordered set of multiple operations.
In another aspect, the invention provides a method for inserting an operation into a set of attached operations and includes receiving an input identifying a first operation to be added to an ordered set of multiple operations and placing the first operation in a position in the order according to a preferred position defined for the first operation.